Output head-to-head results in a headToHead.csv file for quick comparison #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As I test new strategies, parsing
results.txt
by hand gets rather frustrating. For example, I am looking at two of my strategies-nprtt
andultimateDetective
- to understand whynprtt
is marginally outperformingultimateDetective
, and this is basically impossible withresults.txt
. WithheadToHead.csv
, I can just import the file into Excel or Google Sheets and see which strategiesnprtt
does better on thanultimateDetective
(and vice versa) so I know what to dive deeper into, inresults.txt
.This Pull Request also does a couple other quality of life improvements:
prisonersDilemma.py
with Black. I'll be honest, this just happened automatically because of my vim autocommand that I was too lazy to disable. It looks cleaner now and I'm kind of hoping you will not make me undo this.decimal.Decimal
to represent the average scores within a game (and consequently, overall).Decimal
uses fixed-point arithmetic and so doesn't have the imprecision offloat
. I did this because it makes theheadToHead.csv
look nicer (floating point imprecision creates some very ugly numbers) without having to give up information by rounding.You can verify yourself that
headToHead.csv
is properly parsed by Excel and Google Sheets.